﻿/**
 * @author Sébastien DETE
 */
package com.humansampler.jpo.controllers{
	import flash.display.BitmapData;
	import com.humansampler.jpo.collections.PointCollection ;
	
	public interface IPointDetector {
		
		/**
		 * Retourne les nouvelles zones de couleur sur l'image en se servant de l'image snapshot
		 * comme base
		 * @param	newBitmap : nouvelle image
		 * @return retourne les zones dans un object PointCollection
		 */
		function getNewPointCollectionBySnapshot(newBitmap:BitmapData):PointCollection ;
		
		/**
		 * Cette classe permet de garde une capture comme étant une image de base
		 * @param	image : image de base qui sert à retirer des éléments d'une image
		 */
		function snapshot(image:BitmapData):void ;
		
		/**
		 * Seuil pour les comparaisons d'images
		 * (souvent dû à la qualité de la caméra)
		 * Les valeurs de thresholdCamera sont entre 0x00 et 0xFF
		 */
		function get thresholdCamera():uint ;
		function set thresholdCamera(c:uint):void ;
		
		/**
		 * Nombre de balayage en x pour trouver des zones
		 */
		function get offsetX():Number ;
		function set offsetX(n:Number):void ;
		
		/**
		 * Nombre de balayage en y pour trouver des zones
		 */
		function get offsetY():Number ;
		function set offsetY(n:Number):void ;
	}
	
}